The present invention is a protocol for transmitting information over a network. More specifically, the present invention is a protocol optimized for rapidly transmitting large amounts of data (such as raster image data generated by a host computer) via a packet-based network.
Typically, a document is printed over a network by preparing a series of page description language (PDL) instructions at a host computer and transferring those instructions to a printer over a network. The printer includes a raster image processor (RIP) that processes the series of PDL instructions into a raster image that is stored in a frame buffer, and the printer's print engine prints the raster image from the frame buffer.
Processing the series of PDL instructions into a raster image is known in the art as P/Ping, which is a computation intensive and memory intensive process that requires a significant amount of time relative to the amount of time it takes for the print engine to print the image. Therefore, prior art printers that process PDL instructions into raster images generally spend significant amounts of time RIPing the PDL image. During much of this time, the print engine must remain idle waiting for the raster image.
In U.S. Patent No. 5,113,494 to Menendez et al., a high speed raster image processor is disclosed that RIPs PDL instructions fast enough to minimize the idle time of a laser printer's print engine. The RIP disclosed by Menendez et al. resides in a common printer node with the print engine, and specifies a dedicated connection between the RIP and the prim engine. This approach dedicates a significant amount of hardware to perform the RIP function, and increases the cost of the printer.
Another prior approach is to provide the host computer with a RIP, which is typically implemented by software on the host computer. While this approach does not generally affect the time required to RIP a document, multiple hosts can RIP documents in parallel, with each host submitting a raster image of a document to a printer's print engine when RIPing is complete. The drawback to this approach, however, is that a tremendous amount of data must be sent over the network. While an 81/2.times.11 inch page of color text represented by a sequence of PDL instructions and printed at a resolution of 300 dots per inch (dpi) will generally not require more than twenty kilobytes of data to be transferred over a network, a raster image of this same page of color text will require about four megabytes of data to be transferred over a network. In addition, for large printers, such as a 36 inch wide color printer, the amount of data to be transferred makes this approach prohibitive. A 300 dpi color image at a size of 54.times.54 inches requires about 125 megabytes of data to be transferred over the network. Since RIPless printers do not contain data storage resources of this magnitude, the raster image must be retransmitted over the network for each printed copy. In addition, on a typical Ethernet network adhering to the IEEE 802.3 specification (as well as other packet-based networks), prior communication protocols cannot transfer data to the printer fast enough to feed a moderately fast print engine.
The IEEE 802.3 specification defines a maximum packet size of approximately 1500 bytes. However, most prior protocols define a packet size that does not take advantage of the maximum packet size allowed by the network hardware, which reduces the bandwidth of the protocol. In addition, the overhead associated with processing and acknowledging every packet further limits the bandwidth of prior protocols.
If a network cannot transmit RIP data to a printer fast enough to feed a print engine, the printer must periodically pause and wait for additional raster information to be received. In an ink jet printer, these pauses may result in a banding effect because the pause may cause the ink deposited during the preceding pass of the print head to dry before the next pass can occur, while most other passes will occur continuously so the ink will not dry between successive passes. When the ink is not dry, the ink deposited during successive passes will blend together and minimize banding. Conversely, if the ink is permitted to dry between successive passes, banding will be more pronounced.